#ifndef __DERIVER_MANAGER_H__
#define __DERIVER_MANAGER_H__

#include <HAL/driverInterface.h>
#include <HAL/hal.h>

#include <iostream>
#include <vector>
#include <boost/shared_ptr.hpp>

namespace ECG
{
namespace HAL
{

    class DriverManager{
    public:
        void setDrvierPath(std::string path);
        bool loadDrivers(); // get all driver instance
        static DriverManagerPtr instance();
        ~DriverManager();
    private:
        DriverManager(std::string drvPath);
        std::vector<DriverPtr> driverVec;
        std::string path;
        static DriverManagerPtr m_driverManager;
    };


}
}


#endif //__DERIVER_MANAGER_H__
